import request from '@/config/axios'

// 设备接入 VO
export interface DeviceVO {
  id: number // 资产ID
  ipAddress: string // IP地址
  macAddress: string // MAC地址
  sourceType: string // 设备来源
  lastOnlineTime: Date // 最后接入时间
  lastOfflineTime: Date // 最后离线时间
  onlineHour: number // 接入总时长
  deviceStatus: string // 设备状态
  deviceUsername: string // 设备用户名
  devicePassword: string // 设备密码
  deviceCpu: number // CPU使用率
  deviceMemory: number // 内存使用率
  deviceDisk: number // 磁盘
  deviceAlias: string // 设备别名
  deviceLocation: string // 设备位置
}

// 设备接入 API
export const DeviceApi = {
  // 查询设备接入分页
  getDevicePage: async (params: any) => {
    return await request.get({ url: `/security/device/page`, params })
  },

  // 查询设备接入详情
  getDevice: async (id: number) => {
    return await request.get({ url: `/security/device/get?id=` + id })
  },

  // 新增设备接入
  createDevice: async (data: DeviceVO) => {
    return await request.post({ url: `/security/device/create`, data })
  },

  // 修改设备接入
  updateDevice: async (data: DeviceVO) => {
    return await request.put({ url: `/security/device/update`, data })
  },

  // 删除设备接入
  deleteDevice: async (id: number) => {
    return await request.delete({ url: `/security/device/delete?id=` + id })
  },

  // 导出设备接入 Excel
  exportDevice: async (params) => {
    return await request.download({ url: `/security/device/export-excel`, params })
  },
}